using System;
using System.Collections.Generic;
using System.Text;

using NHibernate;
using Zwms.Data.Base;
using System.Runtime.Serialization;

namespace Zwms.Data.BusinessObjects
{
    [DataContract]
    public partial class BilOutPlanBillDetail : BusinessBase<string>
    {
        #region Declarations

        private string _oBPlanCode = String.Empty;
        private string _goodsCode = String.Empty;
        private string _goodsBarCode = String.Empty;

        private string _singleGoodsCode = String.Empty;
        private string _goodsName = String.Empty;
        private int _goodsSpec = default(Int32);
        private int _goodsPackageQty = default(Int32);
        private int _goodsPieceQty = default(Int32);
        private int _goodsQty = default(Int32);
        private int _outGoodsPackageQty = default(Int32);
        private int _outGoodsPieceQty = default(Int32);
        private int _outGoodsQty = default(Int32);
        private string _remark = String.Empty;



        #endregion

        #region Constructors

        public BilOutPlanBillDetail() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            sb.Append(this.GetType().FullName);
            sb.Append(_oBPlanCode);
            sb.Append(_goodsCode);
            sb.Append(_goodsBarCode);
            sb.Append(_singleGoodsCode);
            sb.Append(_goodsName);
            sb.Append(_goodsSpec);
            sb.Append(_goodsPackageQty);
            sb.Append(_goodsPieceQty);
            sb.Append(_goodsQty);
            sb.Append(_outGoodsPackageQty);
            sb.Append(_outGoodsPieceQty);
            sb.Append(_outGoodsQty);
            sb.Append(_remark);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

        [DataMember]
        public virtual string OBPlanCode
        {
            get { return _oBPlanCode.TrimEnd(); }
            set
            {
                _oBPlanCode = value;
            }
        }

        [DataMember]
        public virtual string GoodsCode
        {
            get { return _goodsCode.TrimEnd(); }
            set
            {
                _goodsCode = value;
            }
        }

        [DataMember]
        public virtual string GoodsBarCode
        {
            get { return _goodsBarCode.TrimEnd(); }
            set
            {
                _goodsBarCode = value;
            }
        }

        [DataMember]
        public virtual string SingleGoodsCode
        {
            get { return _singleGoodsCode.TrimEnd(); }
            set
            {
                _singleGoodsCode = value;
            }
        }

        [DataMember]
        public virtual string GoodsName
        {
            get { return _goodsName.TrimEnd(); }
            set
            {
                _goodsName = value;
            }
        }

        [DataMember]
        public virtual int GoodsSpec
        {
            get { return _goodsSpec; }
            set
            {
                _goodsSpec = value;
            }
        }

        [DataMember]
        public virtual int GoodsPackageQty
        {
            get { return _goodsPackageQty; }
            set
            {
                _goodsPackageQty = value;
            }
        }

        [DataMember]
        public virtual int GoodsPieceQty
        {
            get { return _goodsPieceQty; }
            set
            {
                _goodsPieceQty = value;
            }
        }

        [DataMember]
        public virtual int GoodsQty
        {
            get { return _goodsQty; }
            set
            {
                _goodsQty = value;
            }
        }

        [DataMember]
        public virtual int OutGoodsPackageQty
        {
            get { return _outGoodsPackageQty; }
            set
            {
                _outGoodsPackageQty = value;
            }
        }


        [DataMember]
        public virtual int OutGoodsPieceQty
        {
            get { return _outGoodsPieceQty; }
            set
            {
                _outGoodsPieceQty = value;
            }
        }

        [DataMember]
        public virtual int OutGoodsQty
        {
            get { return _outGoodsQty; }
            set
            {
                _outGoodsQty = value;
            }
        }

        [DataMember]
        public virtual string Remark
        {
            get { return _remark.TrimEnd(); }
            set
            {
                _remark = value;
            }
        }


        #endregion
    }
}